Experience in the Design, Implementation and Use ofa Retargetable Static Binary Translation Framework
نویسندگان
چکیده
Binary translation, the process of translating binary executables, makes it possible to run code compiled for source (input) machine Ms on target (output) machine Mt. Unlike an interpreter or emulator, a binary translator makes it possible to approach the speed of native code on machine Mt. Translated code may still run slower than native code because low-level properties of machine Ms must often be modeled on machine Mt. The University of Queensland Binary Translation (UQBT) framework is a retargetable framework for experimenting with static binary translation on CISC and RISC machines. The system was built jointly by The University of Queensland and Sun Microsystems Laboratories in order to experiment with translations to and from different machines, to understand how to migrate applications from other UNIX®-based platforms to a (SPARC®, SolarisTM) platform, and to experiment with translations from the current SPARC architecture to a future, not yet existing, version of the SPARC architecture. This paper describes the overall design and architecture of the UQBT framework, the goals for the project, the resulting framework, experiences with translations across different machines, and lessons learned. email address: [email protected] [email protected] [email protected] [email protected] © 2002 Sun Microsystems, Inc., Harvard University, and The University of Queenland. All rights reserved. The SML Technical Report Series is published by Sun Microsystems Laboratories, of Sun Microsystems, Inc. Printed in U.S.A. Unlimited copying without fee is permitted provided that the copies are not made nor distributed for direct commercial advantage, and credit to the source is given. Otherwise, no part of this work covered by copyright hereon may be reproduced in any form or by any means graphic, electronic, or mechanical, including photocopying, recording, taping, or storage in an information retrieval system, without the prior written permission of the copyright owner. TRADEMARKS Sun, Sun Microsystems, the Sun logo, Solaris, Java, JVM, and Java HotSpot are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. UNIX is a registered trademark in the United States and other countries, exclusively licensed through X/Open Company, Ltd. For information regarding the SML Technical Report Series, contact Jeanie Treichel, Editor-in-Chief .All technical reports are available online on our Website, http://research.sun.com/techrep/. Experience in the Design, Implementation and Use of a Retargetable Static Binary Translation Framework Cristina Cifuentes Sun Microsystems Laboratories Palo Alto, CA 94303, USA [email protected] Mike Van Emmerik The University of Queensland Brisbane QLD 4072, Australia [email protected] Norman Ramsey Division of Engineering and Applied Sciences Harvard University, Cambridge, MA 01238, USA [email protected] Brian Lewis Sun Microsystems Laboratories Palo Alto, CA 94303, USA [email protected]
منابع مشابه
Binary Translation: Static, Dynamic, Retargetable?
Cristina Cifuentes Department of Computer Science The University of Queensland Brisbane Qld 4072, Australia [email protected] Vishv Malhotra Department of Computer Science University of Tasmania Hobart Tas 7001, Australia [email protected] Abstract The porting of software to newer and faster machines using static binary translation techniques has proved successful to a large extent. Curren...
متن کاملThe Design of a Resourceable and Retargetable Binary Translator
Binary translation, the automatic translation of exe-cutable programs from one machine to another, requires analyses and transformations that could be used in a wide variety of tools intended to reverse engineer binary codes. Our approach to binary translation, which is designed to allow both source and target machines to be changed at low cost, is based on a combination of machine descriptions...
متن کاملSRL – A Simple Retargetable Loader
A loader is a systems program used by an operating system (OS) to load a binary executable file onto memory to execute it. The internal format of a binary executable file is called the binary-file format (BFF); this format is dependent on the OS and the particular computer architecture it runs on. Traditionally, when developing machine-code manipulation tools such as binary translators and disa...
متن کاملWalkabout—A Retargetable Dynamic Binary Translation Framework
Dynamic compilation techniques have found a renaissance in recent years due to their use in high-performance implementations of the JavaTM language. Techniques originally developed for use in virtual machines for such object-oriented languages as Smalltalk are now commonly used in Java virtual machines (JVMTM) and Java just-intime compilers. These techniques have also been applied to binary tra...
متن کاملSpecifying the Semantics of Machine Instructions
Computer architecture manuals describe the instruction set of the machine and the semantics of those instructions by a combination of natural language and ISP (Instruction Set Processor) descriptions. The syntax of the instructions in assembly is well deened in the form of tables in the manual. However, the semantics is not so well speciied and descriptions vary widely from one manual to anothe...
متن کامل